#ifndef __MAIN_WINDOW_H__
#define __MAIN_WINDOW_H__

#include "can_alyst_ii.h"

#include <QMainWindow>
#include <QThread>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

    can_alyst_ii *can_alyst;

private:
    Ui::MainWindow *ui;

    QThread *can_alyst_thread;

    void can_board_info_get(void);
    void can_board_info_base(void);

private slots:

    /* 发送消息 */
    void can_transmit_clicked(void);
    /* 消息处理 */
    void can_receive_ch1_msg_process(VCI_CAN_OBJ *ch1_dat_buf, ulong ch1_dat_num);
    void can_receive_ch2_msg_process(VCI_CAN_OBJ *ch2_dat_buf, ulong ch2_dat_num);

    /* 打开设备 */
    void can_open_clicked(void);
    /* 关闭设备 */
    void can_close_clicked(void);
    /* 通道初始化 */
    void can_channel_init_clicked(void);
    /* 打开通道 */
    void can_channel_start_clicked(void);
    /* 设置参数 */
    void can_parameter_config_set_clicked(void);
    /* 默认参数 */
    void can_parameter_config_base_clicked(void);
    /* 选择滤波码编辑方式 */
    void can_receive_select_clicked(void);
    /* 滤波勾选改变 */
    void can_receive_change_clicked(void);

};

#endif /* __MAIN_WINDOW_H__ */
